home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Trusted Irix /B 4.0.4
/
Trusted-Irix B-4.0.1.iso
/
dist
/
eoe1.idb
/
usr
/
include
/
sys
/
dmamap.h.z
/
dmamap.h
Wrap
C/C++ Source or Header
|
1992-04-03
|
2KB
|
63 lines
#ifndef __SYS_DMAMAP_H__
#define __SYS_DMAMAP_H__
/**************************************************************************
* *
* Copyright (C) 1987, Silicon Graphics, Inc. *
* *
* These coded instructions, statements, and computer programs contain *
* unpublished proprietary information of Silicon Graphics, Inc., and *
* are protected by Federal copyright law. They may not be disclosed *
* to third parties or copied or duplicated in any form, in whole or *
* in part, without the prior written consent of Silicon Graphics, Inc. *
* *
**************************************************************************/
#ident "$Revision: 3.9 $"
/*
* Definitions for allocating, freeing, and using DMA maps
*/
/*
* DMA map types
*/
#define DMA_SCSI 0
#define DMA_A24VME 1 /* PowerSeries only */
#define DMA_A32VME 2 /* PowerSeries only */
/*
* DMA map structure as returned by dma_mapalloc()
*/
typedef struct dmamap {
int dma_type; /* Map type (see above) */
int dma_adap; /* I/O adapter */
int dma_index; /* Beginning map register to use */
int dma_size; /* Number of map registers to use */
uint dma_addr; /* Corresponding bus address for A24/A32 */
uint dma_virtaddr; /* Beginning virtual address that is mapped */
} dmamap_t;
/*
* Prototypes of exported functions
*/
extern dmamap_t *dma_mapalloc(int, int, int, int);
extern void dma_mapfree(dmamap_t *);
extern int dma_map(dmamap_t *, caddr_t, int);
extern uint dma_mapaddr(dmamap_t *, caddr_t);
/*
* These variables are defined in master.d/kernel
*/
extern struct map *scsimap[];
extern struct map *a24map[];
extern struct map *a32map[];
extern int scsi_mapsize;
extern int a24_mapsize;
extern int a32_mapsize;
extern lock_t dmamaplock;
extern sema_t dmamapout;
#endif /* __SYS_DMAMAP_H__ */